Python笔记:string, tuple,list,dictionary的区别(之一,基本用法与区别)

Python的数据结构中,string,tuple,list,dictionary,互相之间既有相似,又有区别,容易混淆。笔记一共两篇,本篇主要记录各自的基本用法与区别,下一篇《Python笔记:string, tuple,list,dictionary的区别(之二,高级用法与类型转换)》是他们的高级用法与类型转换的方法。

0.基本区别

Name mutable iterable slicing accessing expressions
string no yes yes number index “abcd”
tuple no yes yes number index (‘a’,’b’,’c’,’d’,’abcd’)
list yes yes yes number index [‘a’,’b’,’c’,’d’,’abcd’]
dictionary yes yes no keys index {‘1’:’a’,’2’:’b’}

1.string

string,字符串类型。python中没有单独的字符类型,一个字符也可以被看成是字符串类型,只有一个字符元素。单双引号无区别。
string,不可修改元素,immutable;可以用于循环条件,iterable;可以分片访问,slicing;通过数字索引来访问。从0开始,用-1表示最后一个元素。

x_str = 'abc'
y_str = 'defg'
Expression Result Description
x_str[0] = ‘b’ error immutable
for x in x_str a b c iteration
x_str[0:3] ‘abc’ slicing
x_str[0] ‘a’ number indexing

其他常见用法

Expression Result Description
len(x_str) 3 length
x_str + y_str ‘abcdefg’ concatenation
x_str * 2 ‘abcabc’ repetition
‘a’ in x_str True membership

2.tuple

tuple,不可修改元素,immutable;可以用于循环条件,iterable;可以分片访问,slicing;通过数字下标来访问。具体结果如下表所示。

x_tuple = ('Peggy',4)
y_tuple = ('Susie',3)
Expression Result Description
x_tuple[0] = ‘George’ error immutable
for x in x_tuple Peggy, 4 iteration
x_tuple[0:1] (‘Peggy’,) 注意这个逗号 slicing
x_tuple[0] ‘Peggy’ number indexing

其他常见用法

Expression Result Description
len(x_tuple) 2 length
x_tuple + y_tuple (‘Peggy’, 4, ‘Susie’, 3) concatenation
x_tuple * 2 (‘Peggy’, 4, ‘Peggy’, 4) repetition
‘Peggy’ in x_tuple True membership

3.list

list, 元素可修改,mutable;可以用于循环条件,iterable;可以分片访问,slicing;通过数字下标来访问。具体结果如下表所示。

x_list = ['Peggy',4]
y_list = ['Susie',3]
Expression Result Description
x_list[0] = ‘George’ x_list = [‘George’,4] mutable
for x in x_tuple George, 4 iteration
x_list[0:1] [‘George’] 这里没有逗号 slicing
x_list[0] ‘George’ number indexing

其他常见用法

Expression Result Description
len(x_tuple) 2 length
x_list + y_list [‘George’, 4, ‘Susie’, 3] concatenation
x_list * 2 [‘George’, 4, ‘George’, 4] repetition
‘Peggy’ in x_list False membership

4.dictionary

dictionary, 元素可修改,mutable;可以用于循环条件,iterable;无法分片访问。元素必须成对出现,names:keys,中间用冒号隔开,一对name-key是一个元素,元素之间使用逗号隔开,并且只能通过names索引keys,

x_dict = {'Peggy':4,'George':3}
y_dict = {'Susie':4,'Daniel':5}

常见用法中,dictionary 不能使用‘+’和‘*’进行扩展。其他用法详见后面代码部分。

Expression Result Description
len(‘x_dict’) 2 length
‘Peggy’ in x_dict True membership

分别按key访问values,keys和values

print(x_dict['Peggy'])
print(x_dict.keys())
print(x_dict.values())
4
dict_keys(['Peggy', 'George'])
dict_values([4, 3])

循环访问dictionary

for name, age in x_dict.items():
    print(name)
    print(age)
Peggy
4
George
3

猜你喜欢

转载自blog.csdn.net/s09094031/article/details/80302588
今日推荐