1、Print函数中文编码问题

print中的编码:# -*- coding: utf-8 -*-

注:此处的#代表的是配置信息

print中的换行符,与C语言相同,为"\n"

2、数据结构List(列表)

# -*- coding: utf-8 -*-

#创建List
number_list = [1, 3, 5, 7, 9]
string_list = ["abc", "bbc", "python"]
mixed_list = ['python', 'java', 3, 12] #访问List中的值
second_num = number_list[1]
third_string = string_list[2]
fourth_mix = mixed_list[3]
print("second_num: {0} third_string: {1} fourth_mix: {2}".format(second_num, third_string, fourth_mix)) #更新List
print("number_list before: " + str(number_list))
number_list[1] = 30
print("number_list after: " + str(number_list)) #删除List元素
print("mixed_list before delete: " + str(mixed_list))
del mixed_list[2]
print("mixed_list after delete: " + str(mixed_list)) #Python脚本语言
print(len([1,2,3])) #长度
print([1,2,3] + [4,5,6]) #组合
print(['Hello'] * 4) #重复
print(3 in [1,2,3]) #某元素是否在列表中 #List的截取
abcd_list =['a', 'b', 'c', 'd']
print(abcd_list[1])
print(abcd_list[-2])
print(abcd_list[1:])
print(abcd_list[-2:])

运行结果:

列表操作包含以下函数:
(1) cmp(list1, list2):比较两个列表的元素
(2) len(list):列表元素个数
(3) max(list):返回列表元素最大值
(4) min(list):返回列表元素最小值
(5) list(seq):将元组转换为列表
列表操作包含以下方法:
(1) list.append(obj):在列表末尾添加新的对象
(2) list.count(obj):统计某个元素在列表中出现的次数
(3) list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
(4) list.index(obj):从列表中找出某个值第一个匹配项的索引位置
(5) list.insert(index, obj):将对象插入列表
(6) list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
(7) list.remove(obj):移除列表中某个值的第一个匹配项
(8) list.reverse():反向列表中元素
(9) list.sort([func]):对原列表进行排序

3、数据结构Tuple(元组)

#创建只有一个元素的tuple,需要用逗号结尾消除歧义
a_tuple = (2,) #tuple中的list
mixed_tuple = (1, 2, ['a', 'b'])
print("mixed_tuple: " + str(mixed_tuple))
mixed_tuple[2][0] = 'c'
mixed_tuple[2][1] = 'd'
print("mixed_tuple: " + str(mixed_tuple))

运行结果:

Tuple是不可变List。一旦创建了一个tuple就不能以任何方式改变它。

Tuple与List的相同之处

定义Tuple与定义List的方式相同, Tuple用, List用方括号。

Tuple的元素与List一样按定义的次序进行排序。Tuples的索引与List一样从 0 开始, 所以一个非空Tuple的第一个元素总是 t[0]。

负数索引与List一样从Tuple的尾部开始计数。

与List一样分片 (slice) 也可以使用。注意当分割一个 List 时, 会得到一个新的 List ;当分割一个Tuple时, 会得到一个新的Tuple。

Tuple不存在的方法

不能向Tuple增加元素。Tuple没有append或extend方法。

不能从Tuple删除元素。Tuple没有remove或pop方法。

可以使用in来查看一个元素是否存在于Tuple中。

用Tuple的好处

Tuple比List操作速度快。如果您定义了一个值的常量集,并且唯一要用它做的是不断地遍历它,请使用Tuple代替List。

如果对不需要修改的数据进行 “写保护”,可以使代码更安全。使用Tuple而不是List如同拥有一个隐含的assert语句,说明这一数据是常量。如果必须要改变这些值,则需要执行Tuple到List的转换。

Tuple与List的转换

Tuple可以转换成List,反之亦然。内置的Tuple函数接收一个List,并返回一个有着相同元素的 Tuple。而 List 函数接收一个Tuple返回一个List。从效果上看,Tuple冻结一个List,而 List解冻一个Tuple。

Tuple的其他应用

一次赋多值

>>> v = ('a', 'b', 'e')

>>> (x, y, z) = v

解释:v是一个三元素的Tuple, 并且 (x, y, z) 是一个三变量的Tuple。将一个Tuple赋值给另一个Tuple, 会按顺序将v 的每个值赋值给每个变量。

4、数据结构Dict(字典)

Dict为key-value键值对形式

# -*- coding: utf-8 -*-

#创建一个词典
phone_book = {'Tom': 123, "Jerry": 456, 'Kim': 789}
mixed_dict = {"Tom": 'boy', 11: 23.5} #访问词典里的值
print("Tom's number is " + str(phone_book['Tom']))
print('Tom is a ' + mixed_dict['Tom']) #修改词典
phone_book['Tom'] = 999
phone_book['Heath'] = 888
print("phone_book: " + str(phone_book))
phone_book.update({'Ling':159, 'Lili':247})
print("updated phone_book: " + str(phone_book)) #删除词典元素以及词典本身
del phone_book['Tom']
print("phone_book after deleting Tom: " + str(phone_book)) #清空词典
phone_book.clear()
print("after clear: " + str(phone_book)) #删除词典
del phone_book
# print("after del: " + str(phone_book))
#不可执行, del后, 字典不存在 #不允许同一个键出现两次
rep_test = {'Name': 'aa', 'age':5, 'Name': 'bb'}
print("rep_test: " + str(rep_test))
#可执行, 'Name'为 'bb' #键必须不可变,所以可以用书,字符串或者元组充当,列表不行
#list_dict = {['Name']: 'John', 'Age':13}
#不可执行,list不能当作key,因为list可变
list_dict = {('Name'): 'John', 'Age':13}

字典内置以下函数

(1) cmp(dict1, dict2):比较两个字典元素。

(2) len(dict):计算字典元素个数,即键的总数。

(3) str(dict):输出字典可打印的字符串表示。

(4) type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。

字典内置以下方法:

(1) radiansdict.clear():删除字典内所有元素

(2) radiansdict.copy():返回一个字典的浅复制

(3) radiansdict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

(4) radiansdict.get(key, default=None):返回指定键的值,如果值不在字典中返回default值

(5) radiansdict.has_key(key):如果键在字典dict里返回true,否则返回false

(6) radiansdict.items():以列表返回可遍历的(键, 值) 元组数组

(7) radiansdict.keys():以列表返回一个字典所有的键

(8) radiansdict.setdefault(key, default=None):和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default

(9) radiansdict.update(dict2):把字典dict2的键/值对更新到dict里

(10) radiansdict.values():以列表返回字典中的所有值

python基础2--数据结构(列表List、元组Tuple、字典Dict)的更多相关文章

  1. Python笔记——基本数据结构:列表、元组及字典

    转载请注明出处:http://blog.csdn.net/wklken/archive/2011/04/10/6312888.aspx Python基本数据结构:列表,元组及字典 一.列表 一组有序项 ...

  2. Python基础学习四 列表、元组、字典、集合

    列表list,用中括号“[ ]”表示 1.任意对象的有序集合 列表是一组任意类型的值,按照一定顺序组合而成的 2.通过偏移读取 组成列表的值叫做元素(Elements).每一个元素被标识一个索引,第一 ...

  3. python 基础,包括列表,元组,字典,字符串,set集合,while循环,for循环,运算符。

         1.continue 的作用:跳出一次循环,进行下一次循环      2.break 跳出不再循环      3.常量 (全是大写)NAME = cjk  一般改了会出错      4.py ...

  4. 第三节 Python基础之数据类型(列表,元组,字典)

    列表,简单说就是用[]括起来的一大堆数据,这些数据我们叫做元素,元素与元素之间用","隔开,这些元素可以是数字,布尔值,字符串,列表等等,基本所有的数据类型都可以放在列表里边,同时 ...

  5. .Net程序员之Python基础教程学习----列表和元组 [First Day]

    一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...

  6. Python基础:数据类型-列表与元组(6)

    Python中数据结构主要有序列.集合和字典. 1. 通用序列操作 Python内置了多种序列,其中最常用的两种:列表和元组.另一种重要的序列是字符串. 列表和元组的主要不同在于:列表是可以修改的,而 ...

  7. python 基础学习3 列表和元组 、字符串

    作为小白,坚持每日写学习记录,是督促坚持学习的动力, 今天主要是学习 列表和元组,列表是可以修改的,元组是不可变的.列表和元组的索引都是从0开始 列表可以修改, 可以对列表进行赋值,修改移除等各种方法 ...

  8. 第三章 Python 的容器: 列表、元组、字典与集合

    列表是Python的6种内建序列(列表,元组,字符串,Unicode字符串,buffer对象,xrange对象)之一, 列表内的值可以进行更改,操作灵活,在Python脚本中应用非常广泛 列表的语法格 ...

  9. PYTHON常用数据类型(列表,元组,字典)

    一.数字 1.整形:就是整数. 2.浮点型:就是小数. 3.布尔型:True或者是False,python里严格区分格式,空格缩进或者是大小写. 4.运算符有+ – * / ()%(求模运算取余数)* ...

  10. Python学习笔记_week2_列表、元组、字典、字符串、文件、i编码

    一. 列表.元组 names=["A","B","C","D"] print(names) print(names[0] ...

随机推荐

  1. 基于SpringBoot从零构建博客网站 - 确定需求和表结构

    要确定一个系统的需求,首先需要明确该系统的用户有哪些,然后针对每一类用户,确定其需求.对于博客网站来说,用户有3大类,分别是: 作者,也即是注册用户 游客,也即非注册用户 管理员,网站维护人员 那么从 ...

  2. 前端笔记之Vue(一)初识SPA和Vue&webpack配置和vue安装&指令

    一.单页面应用(SPA) 1.1 C/S到B/S页面架构的转变 C/S:客户端/服务器(Client/Server)架构的软件. C/S 软件的特点: ① 从window桌面双击打开 ② 更新的时候会 ...

  3. 从壹开始微服务 [ DDD ] 之九 ║从军事故事中,明白领域命令验证(上)

    烽烟 哈喽大家周二好呀,咱们又见面了,上周末掐指一算,距离 圣诞节 只有 5 周的时间了(如果你还不知道为啥我要提圣诞节这个时间点,可以看看我的第二系列开篇<之一 ║ D3模式设计初探 与 我的 ...

  4. Docker常见故障

    — Docker虚拟化故障 — Docker虚拟化主要有三类故障: 应用故障:应用执行状态与预期不一致. 容器故障:无法正确创建.停止.更新容器等. 集群故障:集群创建失败.更新失败.无法连接等. — ...

  5. C++线程安全日志库-Win32接口实现

    分享一个C++日志库,使用Win32接口编写,而且是线程安全的日志库.比较简单,只有2个文件,容易上手,使用起来也很简单 头文件 如下是日志库的头文件,接口看似很多,但是使用起来最常用的也就那么几个 ...

  6. 防止系统锁屏-python、C++实现

    一.背景 作为一个开发,我的电脑经常是一个礼拜不关机,甚至时间更久,不知道在其他人看来这是不是一个常规操作.在日常工作中,我们的电脑也是一直处于非锁屏状态,出于对个人工作成果的安全性保护,我们公司给每 ...

  7. 【Python3爬虫】最新的模拟登录新浪微博教程

    一.写在前面 首先呢,由于之前重装系统,又要重新配置环境,然后还有一些别的事,导致我一直没有写爬虫了,不过现在又可以继续写了. 然后我这次说的模拟登录新浪微博呢,不是使用Selenium模拟浏览器操作 ...

  8. Scrapy爬取Ajax(异步加载)网页实例——简书付费连载

    这两天学习了Scrapy爬虫框架的基本使用,练习的例子爬取的都是传统的直接加载完网页的内容,就想试试爬取用Ajax技术加载的网页. 这里以简书里的优选连载网页为例分享一下我的爬取过程. 网址为: ht ...

  9. 贾天昊 - Nick

  10. PostgreSQL 10.7 linux 主从配置

    PostgreSQL 10.7 主从安装 硬件环境 云服务商:华为云 Linux: CentOS7.1 工具:Xshell Xftp IP:114.115.251.168 Port: 5432 543 ...